Modeling and Architectural Design in Agile Development Methodologies
نویسندگان
چکیده
Agile Development Methodologies have been designed to address the problem of delivering high-quality software on time under constantly and rapidly changing requirements in business and IT environments. Agile development processes are characterized by extensive coding practice, intensive communication between stakeholders, fast iterative cycles, small and flexible teams, and minimal efforts in system modeling and architectural design. This paper presents the state-of-the-art of agile methodologies and analyzes them along the selected criteria that highlight different aspects of their theory and practice. Furthermore, the paper proposes the component paradigm as a way to bridge the gap between model-driven and agile development. Service-based component concepts applied at the level of modeling, architectural design and development can ensure and strengthen agile development principles and practices. Components provide a way of building simple and flexible software architecture that can easily scale in size and level of details in order to overcome certain limitations of agile development processes.
منابع مشابه
Suggested Framework for Agile MDA and Agile Methodologies
Modeling is an essential part in software development projects. This shifts the focus of software development from writing code to building models. Consequently Object Management Group (OMG) introduced Model Driven Architecture (MDA). MDA is the open approach to control both business and technology changes. MDA is created to help UML designers to cover all specification of the software system w...
متن کاملApplying Case Based Reasoning in Agile Software Development
There is a common misconception among developers who follow Agile development methods, that following formal processes and modeling are unnecessarily and perceived as a waste of effort [1]. The initial intension of Agile was not an anti-methodology movement but rather a balance between processes and production. Nevertheless, the main challenges facing software that are developed using Agile dev...
متن کاملA Comparison between Agile and Traditional Software Development Methodologies
Software has been part of modern society for more than 50 years. There are several software development methodologies in use today. Some companies have their own customized methodology for developing their software but the majority speaks about two kinds of methodologies: heavyweight and lightweight. Heavyweight methodologies, also considered as the traditional way to develop software, claim th...
متن کاملAdapting to the Information Age: Is Agile Software Development A Feasible Approach?
In recent years, agile software development has been advocated as an appropriate approach for turbulent environments. Today, there is an ongoing debate between the agile software development and traditional rigorous software development. Agile approaches are critiqued as fragile due to lack of architectural design and sufficient documentation, while rigorous approaches are critiqued as bureaucr...
متن کاملModeling an agile web maintenance process using system dynamics
To cope effectively with high levels of requirement volatility and frequent system change, practitioners have increasingly adopted iterative and agile methodologies in Web development and maintenance. Despite the increasing acceptance in the agile methods, empirical evidence of its effectiveness is mainly anecdotal. There is a need to understand the dynamic process of agile methodologies throug...
متن کامل